In the evolving area of wireless communications, the number of services which may be provided between a mobile station (MS) and a base station (BS) have greatly increased and include real time services, such as speech and video, as well as non-real time services, such as file transfers and electronic mail messages. Each service typically has different transmission format requirement. One transmission format requirement is the transmission rate over the radio channel between the mobile station and base station. A radio channel may correspond to a radio frequency in a frequency division multiple access (FDMA) system, a time slot in a time division multiple access (TDMA) system, and a spreading code in a code division multiple access (CDMA) system. Because of the variability of services that need to be delivered, the transmission rate on the radio channel may change at a fairly high frequency. In fact, in some systems, the rate at which the radio channel may change may be on the order of every ten milliseconds. For higher transmission rates, the number of data bits transmitted in each time frame can be quite large. On the other hand, for relatively low transmission rates, a much smaller number of data bits is transmit during that same time frame.
This variability in transmission rates poses a problem that is particularly troublesome in the radio environment where data is often corrupted as a result of fading, shadowing, interference, etc. To account for bit errors resulting from such corruption, an Automatic Repeat reQuest (ARQ) protocol may be employed which uses positive and/or negative acknowledgments with retransmission techniques to ensure reliable data communications. If a data message is received in error, the receiver sends a retransmit request to the sender, and the sender automatically retransmits the data message. The message to be retransmitted is typically divided into a number of smaller data blocks. Each data block contains a sequence number for identification purposes used when those retransmitted blocks are received and sequenced at the receiver.
It is important to carefully choose the size, i.e., number of bits, in each of these smaller blocks. The larger the data block size, the larger the probability that the retransmitted block will be received with too many errors. In order to keep the number of errors down in such a large block situation, a very high quality radio channel is required which is either unobtainable under current conditions or "expensive" in the sense it consumes limited capacity. On the other hand, as the size of the data blocks decreases, the effective data rate or throughput also decreases because the number of overhead bits used in each of the data blocks, e.g., sequence number, error correction and detection bits, etc., increases relative to the number of actual "payload" data bits that make up the substantive data message.
The fact that the transmission rate on a radio channel or any type of communication channel may change frequently complicates the determination of the appropriate data block size. Consider the example shown in FIG. 1 where the block size is 640 bits. The data transmission rate may change to one of two rates: 64 kbit/s and 32 kbit/s. The frequency at which the transmission rate may change corresponds with the frame interval of ten milliseconds. In other words, the transmission rate is only permitted to change at the end of and not during each ten millisecond frame interval.
At the higher 64 kbit/s transmission rate during the first frame interval, the entire data block of 640 bits are allocated to a single ten millisecond frame interval. After that time interval, the transmission rate is changed to 32 kbit/s, and during the subsequent ten millisecond frame interval, only one half of the 640 bits in the next data block are transmitted during the second frame interval. Following the second, ten millisecond frame interval, another rate change occurs increasing the transmission rate back up to 64 kbit/s. At this higher transmission rate, transmission of the remaining 320 bits of the second half of the data block takes only one half of the third, ten millisecond frame interval. This leaves the latter half of the third frame interval "empty" which then is filled with "dummy" bits. The failure to transmit useful information during portions of frame intervals wastes precious resources (especially in a radio communications context) and reduces the effective data throughput rate over the radio channel.
One way of handling this variable transmission rate problem is to adapt the data block size (the number of bits in each block) to the current transmission rate. However, this approach causes difficulties when data blocks must be retransmit as a result of corruption over the communications link. For example, consider the situation where a large size data block is initially transmit at a high data transmission rate in one ten millisecond frame interval. That large block is corrupted, and therefore must be retransmitted. At the later time when the large data block is be retransmit, the transmission rate at that time may have changed, e.g., to a lower transmission rate. Because of the lower rate, the large block of data cannot be transmitted in a single ten millisecond time interval, and one or more additional frame intervals must be used to transmit the remaining data. Very likely, one of the frame intervals is transmitted with less than a fill payload.
It is an object of the present invention to provide a method for determining an optimal data block size for use in communications systems where variable transmission rates may be employed.
It is a further object of the present invention to determine an optimal data block size so that communication resources are not wasted.
It is another object of the present invention to determine a fixed block size so as to eliminate complexities associated with variable block sizes.
The present invention solves these problems and achieves the stated objectives by providing a method for determining an optimal data block size. The data block size may be advantageously used to transmit data at variable rates over a communications link in predetermined time intervals, where each predetermined time interval has the same time duration. Rather than varying data block size according to changes in the transmission rates which adds unnecessary complexity, the data blocks in accordance with the present invention all have the same fixed size, i.e., have the same number of data bits in each block. That fixed data block size is determined so that for all of the available variable rates at which data may be transmitted, each predetermined time interval is fully occupied with useful information, i.e., there is no unused or "filled" portion of one of the time intervals. Even though data may be initially transmit at a first transmission rate in the fixed size data blocks, when a change is detected from the first transmission rate to a second transmission rate, bits are allocated and transmit at the second transmission rate into the same fixed size data blocks.
The fixed data block size is determined based on a maximum frequency at which the transmission rate may change on the communications link and a lowest available transmission rate. Preferably, the fixed size of each data block is limited by predetermined maximum and minimum data block sizes in order to reduce the number of bit errors per data block, maintain a certain data throughput, and limit the amount of overhead bits relative payload bits.
In addition to initial data transmissions between two communications devices over a communications link, the present invention is also beneficial in the context of an Automatic Repeat reQuest (ARQ) procedure. If a data message is determined to be unreliable, e.g., too many bit errors, a request is sent to the transmitting communication device to retransmit that data message. Even though the data message was initially transmit using a first transmission format specifying a first transmission rate, the transmission format may have changed to a second format which specifies a second different transmission rate when the message is to be retransmit. In an example embodiment, the data message to be retransmit is segmented or divided at a data link protocol layer into fixed size protocol data units (PDUs) where each fixed size PDU has the same number of bits irrespective of transmission rate or other format. The fixed size PDUs are then transmit over a first physical protocol layer using the second transmission format specifying a second transmission rate different from the first transmission rate at which the data message was originally transmitted. The fixed PDU size is selected so that the time intervals are fully used despite frequent changes in transmission formats and rates over the communications link. In other words, time intervals are fully occupied with useful information without having to add filler data bits to complete that frame time interval.
Although the present invention may be advantageously applied to any communications device in any data communications system, a preferred advantageous application is to data communications between a mobile station and base station, and in particular, to code division multiple access (CDMA) mobile communications systems. A first communications protocol layer employs spreading codes in transmitting PDUs over a radio communications link. A second communications protocol layer above the first layer corresponds to a radio link control/medium access control (RLC/MAC) protocol layer. The RLC layer performs the segmenting of data into the fixed PDUs for transmission over the radio interface.